1. Field of the Invention
The present invention relates to storage area networks, and more particularly to virtualization of storage attached to such storage area network by elements contained in the storage area network.
2. Description of the Related Art
As computer network operations have expanded over the years, storage requirements become very high. It is desirable to have a large number of users access common storage elements to minimize the cost of obtaining sufficient storage elements to hold the required data. However, this has been difficult to do because of the configuration of the particular storage devices. Originally storage devices were directly connected to the relevant host computer. Thus, it was required to provide enough storage connected to each host as would be needed by the particular applications running on that host. This would often result in a requirement of buying significantly more storage than immediately required based on potential growth plans for the particular host. However, if those plans did not go forward, significant amounts of storage connected to that particular host would go unused, therefore wasting the money utilized to purchase such attached storage. Additionally, it was very expensive, difficult and time consuming to transfer unused data storage to a computer in need of additional storage, so the money remained effectively wasted.
In an attempt to solve this problem storage area networks (SANs) were developed. In a SAN the storage devices are not locally attached to the particular hosts but are connected to a host or series of hosts through a switched fabric, where each particular host can access each particular storage device. In this manner multiple hosts could share particular storage devices so that storage space could be more readily allocated between the particular applications on the hosts. While this was a great improvement over locally attached storage, the problem does develop in that a particular storage unit is underutilized or fills up due to misallocations or because of limitations of the particular storage units. So the problem was reduced, but not eliminated.
To further address this problem and allow administrators to freely add and substitute storage as desired for the particular network environment, there has been a great push to virtualizing the storage subsystem, even on a SAN. In a virtualized environment the hosts will just see very virtual large disks of the appropriate size needed, the size generally being very flexible according to the particular host needs. A virtualization management device allocates the particular needs of each host among a series of storage units attached to the SAN. Elements somewhere in the network would convert the virtual requests from the series into physical requests to the proper storage unit.
While this concept is relatively simple to state, in practice it is relatively difficult to execute in an efficient and low cost manner. As will be provided in more detail in the detailed description, various alternatives have been developed. In a first approach, the storage units themselves were virtualized at the individual storage array level, as done by EMC Corporation's Volume Logix Virtualization System. However, this had shortcomings that did not span multiple storage arrays adequately and was vendor specific. The next approach was a host-based virtualization approach, such as done in the Veritas Volume Manager, where virtualization is done by drivers in the hosts. This approach has the limitation that it is not optimized to span multiple hosts and can lead to increased management requirements when multiple hosts are involved. Another approach was the virtualization appliance approach, such as that developed by FalconStor Software, Inc in their IPStor product family, where all communications from the hosts go through the virtualization appliance prior to reaching the SAN fabric. This virtualization appliance approach has problems relating to scalability, performance, and ease of management if you must use multiple virtualization appliances for performance reasons. An improvement on those three techniques is an asymmetric host/host bus adapter (HBA) approach such as done by the Compaq Computer Corporation (now Hewlet-Packard Company) Versastor product. In the Versastor product, special HBAs are installed in the various hosts which communicate with a management server. The management server communicates with the HBAs in the various hosts to provide virtualization information which the RBAs then perform internally, thus acting as individual virtualization appliances. However, disadvantages of this particular approach are the use of the special HBAs and trusting of the host/HBA combination to obey the virtualization information provided by the management server. So while all of these approaches do in some manner address the virtualization storage problem, they each provide additional problems which need to be addressed for a more complete solution.